Method And Apparatus For Determining Extrudate Flow In Three-Dimensional (3D) Printing

ABSTRACT

An additive manufacturing apparatus, and corresponding method, determine a mass (or volume) output flow rate of extrudate used in three-dimensional (3D) printing, and such determination is insensitive to rheological properties of a material of the extrudate being printed. A thermal energy balance on a liquefying extrusion head enables a load on a heater, used to heat the extrusion head, to be related to the output flow rate of extrudate. Based on the thermal energy balance, the output flow rate may be determined based on a duty cycle of the heater. The output flow rate may be employed to affect the 3D printing to prevent over- or under-extrusion of the extrudate and to identify a fault condition.

RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.62/485,717, filed on Apr. 14, 2017. The entire teachings of the aboveapplication are incorporated herein by reference.

BACKGROUND

Three-dimensional (3D) printing, also known as additive manufacturing(AM), may refer to processes used to create a 3D object in whichsuccessive layers of material are formed under computer control tocreate the 3D object. The 3D object may be of almost any shape orgeometry and may be produced based on data from a computer aided design(CAD) model representing the 3D object, or any other suitable data.

An extrusion-based layered manufacturing machine may build up such a 3Dobject by extruding a build material, that may also be referred tointerchangeably herein as a feedstock, filament, or media, from anextrusion head in a predetermined pattern onto a build surface, that mayalso be referred to interchangeably herein as a build plate, buildplatform, stage, base, or bed. The predetermined pattern may bedetermined based on the CAD model representing the 3D object, or anyother suitable data.

The build material may be supplied to the extrusion head and theextrusion head may bring the build material to a flowable temperature toproduce a flowable build material for deposition onto the build surface.A force of the incoming build material may cause extrusion of theflowable build material out from a nozzle of the extrusion head. Theflowable build material may be extruded via the nozzle and adhere to apreviously deposited build material with an adequate bond uponsolidification.

A flow rate of the flowable build material being extruded from thenozzle may be a function of an advancement rate at which the buildmaterial is advanced to the extrusion head or pressure applied toadvance the build material. The flow rate may be commanded bycontrolling the advancement rate via a controller that controls speed ofa mechanism for advancing the build material or controls the pressurebeing applied to the build material. In addition to controlling theadvancement rate, the controller may control movement of the extrusionhead in a horizontal x, y plane, as well as movement of the buildsurface in a vertical z-direction. The controller may control theextrusion head movement relative to the 3D object being printed. Forexample, in some cases the 3D object being printed may move in x and yand the extrusion head may be stationary. By controlling such movementsand the flow rate in synchrony, the flowable build material may bedeposited onto the build surface layer-by-layer along tool paths thatmay be derived from the CAD model. The flowable build material beingextruded may fuse to previously deposited build material and solidify toform the 3D object resembling the CAD model.

SUMMARY

According to an example embodiment, an apparatus for additivemanufacturing of a three-dimensional (3D) object may comprise anextrusion head, a heater, and a controller. The extrusion head may beconfigured to transform a build material from a first state to a secondstate, the second state having a higher viscosity relative to the firststate, and extrude the build material transformed to produce anextrudate used to print a 3D object in a 3D printing system. The heatermay be configured to heat the extrusion head at a setpoint temperatureto cause the transformation. The controller may be configured to (i)control a duty cycle of the heater, based on temperature of theextrusion head, to maintain the setpoint temperature, (ii) determine anoutput flow rate of the extrudate based on the duty cycle controlled,and (iii) employ the output flow rate determined to affect printing ofthe 3D object in the 3D printing system.

The apparatus may further comprise an actuator configured to advance thebuild material to the extrusion head based on a commanded input flowrate. The controller may be further configured to affect the printing bycausing a change to the commanded input flow rate based on the outputflow rate determined. The change enables over-extrusion orunder-extrusion of the extrudate to be avoided.

The apparatus may further comprise a temperature sensor configured tomeasure the temperature of the extrusion head. The controller may be aclosed-loop controller. The controller may be further configured tocontrol the duty cycle of the heater based on a history of thetemperature measured, a current value of the temperature measured, andthe setpoint temperature.

The controller may be further configured to identify a fault conditionbased on the output flow rate determined and a commanded input flow rateof the build material and, in an event the fault condition isidentified, the controller may cause an input flow of the build materialto the extrusion head to halt.

The controller may be further configured to report the fault conditionidentified to a user interface communicatively coupled to thecontroller.

The controller may be further configured to determine the output flowrate based on a thermal energy balance applied to the extrusion head.

The thermal energy balance may account for heat input into the extrusionhead from the heater and a net flow of heat output from the extrusionhead due to extrusion of the build material transformed, forced and freeconvection, and conduction.

The controller may be further configured to determine the output flowrate based on an initial duty cycle employed to maintain the setpointtemperature under a zero flow condition and a gradient representing achange in duty cycle per unit of output flow rate.

The extrusion head may include a nozzle. The gradient may be based onthe setpoint temperature, an ambient temperature of the extrusion head,material properties of the build material, a cross-sectional area of thenozzle or build material, and a power rating of the heater.

The material properties may include a density of the build material andspecific heat of the build material.

According to another example embodiment, a method for additivemanufacturing of a three-dimensional (3D) object may comprisetransforming a build material, input to an extrusion head, from a firststate to a second state, the second state having a higher viscosityrelative to the first state, and extruding the build materialtransformed from the extrusion head to produce an extrudate used toprint a 3D object in a 3D printing system. The method may compriseheating the extrusion head at a setpoint temperature via a heater tocause the transformation. The method may comprise maintaining thesetpoint temperature of the extrusion head by controlling a duty cycleof the heater based on temperature of the extrusion head. The method maycomprise determining an output flow rate of the extrudate based on theduty cycle controlled and employing the output flow rate determined toaffect printing of the 3D object in the 3D printing system.

Alternative method embodiments parallel those described above inconnection with the example apparatus embodiment.

According to yet another example embodiment, an apparatus for additivemanufacturing of a three-dimensional (3D) object may comprise means fortransforming a build material from a first state to a second state, thesecond state having a higher viscosity relative to the first state;means for extruding the build material transformed to produce anextrudate used to print a 3D object in a 3D printing system; and meansfor (i) controlling a duty cycle of the heater used for maintaining thesetpoint temperature, (ii) determining an output flow rate of theextrudate based on the duty cycle controlled, and (iii) employing theoutput flow rate determined to affect printing of the 3D object in the3D printing system.

It should be understood that example embodiments disclosed herein can beimplemented in the form of a method, apparatus, system, or computerreadable medium with program codes embodied thereon.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing will be apparent from the following more particulardescription of example embodiments of the invention, as illustrated inthe accompanying drawings in which like reference characters refer tothe same parts throughout the different views. The drawings are notnecessarily to scale, emphasis instead being placed upon illustratingembodiments of the present invention.

FIG. 1 is a block diagram of an example embodiment of an apparatus foradditive manufacturing of a three-dimensional (3D) object.

FIG. 2 is block diagram of an example embodiment of an extrusionassembly.

FIG. 3 is a block diagram of an example embodiment of a thermal energybalance.

FIG. 4 is a graph of an example embodiment of a plot of duty cycleversus output flow rate.

FIG. 5 is a flow diagram of an example embodiment of a method foradditive manufacturing of a 3D object.

FIG. 6 is a block diagram of an example internal structure of a computeroptionally within an embodiment disclosed herein.

DETAILED DESCRIPTION

A description of example embodiments of the invention follows.

In several additive manufacturing techniques, a solid material may beliquefied and successively deposited upon a build plate to form a solidstructure. Controlling the flow to perform this deposition process isuseful to ensure that the shape, strength, and surface finish of theprinted part proceeds in a manner consistent with a part definition anduser expectations. A major challenge in ensuring these requirements isthe absence of robust and economical flow sensing technologies forcomplex fluids.

Build materials used in additive manufacturing are typicallynon-Newtonian polymer-based and melted at temperatures above 100° C.Such build materials may exhibit a viscosity of 100s to 1000s of Pa-s,and may be filled with inclusions that are either solid, liquid, orsemisolid (e.g., soft). Furthermore, such inclusions can vary in size,shape, and volume fraction. Flow of such complex fluids makes thedefinition and characterization of flow within an extrusion assembly ofa three-dimensional (3D) printing system difficult, which may beexacerbated by the nontrivial geometries of the extrusion assembly inwhich the build material flows.

According to an example embodiment, a mass (or volume) output flow rateof extrudate used in 3D printing may be determined, and such adetermination may be insensitive to rheological properties of a buildmaterial of the extrudate being printed. A thermal energy balance on aliquefying extrusion head, such as the thermal energy balance 350disclosed below with regard to FIG. 3, enables a load on a heater usedto heat the liquefying extrusion head to be related to the output flowrate of the extrudate. The load on the heater is an amount of heatenergy that needs to be added to the extrusion head to maintain atemperature of the extrusion head at a setpoint (i.e., target)temperature. As such, a duty cycle of the heater is reflective of theload. Based on the thermal energy balance, the output flow rate may bedetermined based on the duty cycle of the heater. The output flow ratemay be employed to affect the 3D printing to prevent over- orunder-extrusion of the extrudate and to identify a fault condition.

For example, while a volumetric rate of flow of material out of theextrusion head may be assumed to be equal to an inlet flow of thematerial to the extrusion head within a given range based on reasonableengineering estimates, such may not be the case. A malfunction of theextrusion head, such as a clogged nozzle or any other suitablemalfunction, could cause the volumetric rate of flow of material out ofthe extrusion head to exceed the given range relative to the inlet flow.Further, a geometry or operation of the extrusion head may cause thevolumetric rate of flow of material out of the extrusion head to exceedthe given range relative to the inlet flow. An example embodiment maycause a change to the commanded input flow rate in response to adetermination that an output rate of the extrudate exceeds the givenrange relative to the commanded input flow rate. Such a change may besuch that over- or under-extrusion of the extrudate relative to a targetamount of extrusion may be obviated and the target amount achieved.Further, the given range may include multiple ranges, such as a firstgiven range and a second given range. The first given range may beemployed to determine a change to the commanded input flow rate thatcontinues to allow an inlet flow whereas the second given range may beused to signify that that the inlet flow be halted.

FIG. 1 is a block diagram of an apparatus 100 for additive manufacturingof a three-dimensional (3D) object 102. The apparatus 100 comprises anextrusion head 104, a heater 106, and a controller 108. The extrusionhead 104, also referred to interchangeably herein as a liquefyingextrusion head, may be configured to transform a build material 110 froma first state to a second state, the second state having a higherviscosity relative to the first state, and extrude the build materialtransformed to produce an extrudate 112 used to print the 3D object 102in a 3D printing system (not shown). The heater 106 may be configured toheat the extrusion head 104 at a setpoint temperature 114 to cause thetransformation. The controller 108 may be configured to (i) control aduty cycle 116 of the heater 106, based on temperature 118 of theextrusion head 104, to maintain the setpoint temperature 114, (ii)determine an output flow rate 120 of the extrudate 112 based on the dutycycle 116 controlled, and (iii) employ the output flow rate 120determined, to affect printing of the 3D object 102 in the 3D printingsystem.

The build material 110 may be a flexible filament, or any other suitableform of build material, such as a continuous solid material (e.g., afilament on a spool), liquid material, semisolid slurry, a series ofrods fed sequentially, a solid granular material, or any other suitablematerial that can be transformed from a first state to a second statevia heat, the second state having a higher viscosity relative to thefirst state. A spool (not shown) may carry a coil of filament that maybe mounted on a spindle (not shown).

It should be understood that in the transformation the build material110 may not truly “melt” since it may be a mixture of metal and polymerin which the metal doesn't melt but the polymer does. The mixture may beany suitable mixture for printing the 3D object 102, such as ceramic inpolymer, or any other suitable mixture. The polymer may include multiplespecies each with its own melting point. The setpoint temperature 114may be such that not all polymers are in a molten state duringextrusion.

The extrudate 112 may be deposited from a nozzle (not shown) of theextrusion head 104, such as the nozzle 258 of FIG. 2, disclosed furtherbelow, and the extrudate may be deposited in beads (not shown), or anyin other suitable form, onto a planar base, such as the build plate 256of FIG. 2, disclosed further below.

The controller 108 may be a closed-loop controller and the extrusionhead 104 may be held at a constant temperature, that is, the setpointtemperature 114, using a closed-loop control method configured tomaintain a temperature of the extrusion head 104 at the setpointtemperature 114 using a measured temperature of the extrusion head 104as feedback for the closed-loop control. The temperature of theextrusion head 104 may be measured by a temperature sensor (not shown).The controller 108 may control the duty cycle 116 based on a differencebetween the setpoint temperature 114 and the measured temperature.

For example the control signal 117 may command the heater to remain “on”for a specific fraction of a time interval (a duty cycle between 0 and100%), where the time interval is fast relative to a response time ofthe extrusion head 104 to thermal and flow variations. The controller108 may be any suitable controller, such as aproportional-integral-derivative (PID) controller, or any other suitablecontroller configured to implement such closed-loop control. Thecontroller 108 may employ current and recent temperature history of theextrusion head 104 as feedback and may compare such measured temperatureinformation against the setpoint temperature 114, that is, a targettemperature. A control signal 117 output by the controller may be acommand to the heater 106 that commands the duty cycle 116.

As disclosed above, the apparatus 100 may further comprise a temperaturesensor (not shown) configured to measure the temperature 118 of theextrusion head 104. The controller 108 may be a closed-loop controller.The controller 108 may be further configured to control the duty cycle116 of the heater 106 based on a history (not shown) of the temperature118 measured, a current value (not shown) of the temperature 118measured, and the setpoint temperature 114.

According to an example embodiment, a thermal energy balance on theliquefying extruder, that is, the extrusion head 104, enables the dutycycle 116 of the heater 106 to be related to the output flow 120 of theextrudate 112 from the extrusion head 104. Since an overall temperaturechange in the build material 110, from its first state prior to entry tothe extrusion head 104 to its second state immediately after extrusion,is known, and since the duty cycle 116 on the heater 106 needed tomaintain the setpoint temperature 114 is known from the closed-loopcontrol, disclosed above, a direct measure of heat flux from theextrusion head 104 due to the output flow 120 of the extrudate 112 maybe determined, such as disclosed further below, with regard to FIG. 3.Further, a residence time of the build material 110 inside the extrusionhead 104 may be of such duration that an exit temperature of theextrudate 112 is constant and uniform. An inlet temperature T_(in) ofthe build material 110 to be printed may be known from temperaturemeasurements of an ambient atmosphere adjacent to the build material 110at an input to the extrusion head 104.

The controller 108 may be further configured to identify a faultcondition (not shown) based on the output flow rate 120 determined and acommanded input flow rate (not shown) of the build material 110 and, inan event the fault condition is identified, the controller 108 may causean input flow 122 of the build material 110 to the extrusion head 110 tohalt. The controller 110 may be further configured to report the faultcondition identified to a user interface (not shown) communicativelycoupled to the controller 110. The controller 108 may cause the inputflow 122 to halt by changing a commanded input flow of the input flow122 by changing control over an actuator, such as the actuator 232 ofFIG. 2, disclosed below, directly, or by changing a commanded input flowto another controller that drives (i.e., controls) the actuator.

As such, the controller 108 may affect the printing by causing a changeto the commanded input flow rate based on the output flow rate 120determined. The change may enable over-extrusion or under-extrusion ofthe extrudate 112 to be obviated. The change may halt the input flow 122and, thus, halt the output flow rate 120, by changing control over anactuator, such as the actuator 232 of FIG. 2, disclosed below.

FIG. 2 is block diagram of an example embodiment of an extrusionassembly 200. The apparatus 100 of FIG. 1, disclosed above, may includethe extrusion assembly 200. The extrusion assembly 200 includes anactuator 232 configured to advance the build material 110 to theextrusion head 104, also referred to interchangeably herein as a hotend,based on a commanded input flow rate (not shown). The extrusion head 110is coupled to cooling fins 233 a and 233 b that focus air flow 235 a and235 b to ensure a first state of the build material 110 entering theextrusion head 104. However, it should be understood that maintainingthe build material 110 at a particular input temperature to ensure thefirst state of the build material 110 entering the extrusion head 110may be performed in any suitable way.

A controller (not shown) may be configured to control the actuator 232.Such a controller may be the controller 108 of FIG. 1, disclosed above,or an additional controller that may be communicatively coupled to thecontroller 108. The actuator 232 may be any suitable mechanism foradvancing the build material 110 into the extrusion head 104. Forexample, the actuator 232 may include a pair of feed rollers (not shown)driven by a motor (not shown) that advances the build material 110 intothe extrusion head 104 at a controlled rate. Alternatively, the actuator232 may include a controlling mechanism (not shown) for pushing thebuild material 110 along an axis of the build material 110 and down intothe extrusion head 104. The actuator 232 may include a valve (not shown)that controls release of a pressure from a pressure source (not shown)that forces the build material 110 into the extrusion head 104. Theactuator 232 may include a plurality of actuators (not shown). Forexample, a first actuator (not shown) of the plurality of actuators mayperform coarse control of advancement for the build material 110,whereas a second actuator (not shown), of the plurality of actuators,may perform fine and fast control relative to control performed by thefirst actuator.

The extrusion head 104 may be pressurized by “pumping” the buildmaterial 110 into the extrusion head 104 by the actuator 232. The buildmaterial 110 may act as a piston. The pressurization may impel a moltenform of the build material 110 out of the nozzle 258 via the nozzle tip248. The output flow 120 of the build material 110 may be controlled byadjusting the actuator 232. For example, the controller may beconfigured to adjust a speed of rotation of the pair of feed rollers(not shown) or to adjust the actuator 232 in any other suitable way. Thecontroller may be configured to control the output flow 120 of the buildmaterial 110 by driving control signal(s) (not shown) to the actuator232. For example, the controller may drive the control signal(s) thatmay control a motor (not shown) configured to drive a feed roller (notshown) of the actuator 232, or may drive any other suitable controlsignal that causes the actuator 232 to control movement of the buildmaterial 110.

The output flow rate 120 may be a velocity V_(e) of the extrudate 112 ofthe build material 110 following exit from the nozzle tip 248 of thenozzle 258 of the extrusion head 104. A velocity of the build plate 256(also referred to interchangeably herein as a bed or stage) that may bea planar surface, is represented by V_(b) 254, where V_(b) 254represents the velocity of the build plate 256 relate to the nozzle tip248 of the nozzle 258. According to an example embodiment, the outputflow rate 120 may be determined based on a thermal energy balanceapplied to the extrusion head 104, such as the thermal energy balance350 of FIG. 3, disclosed below.

FIG. 3 is a block diagram of an example embodiment of a thermal energybalance 350. The thermal energy balance 350 accounts for heat input intothe extrusion head 304 from the heater, such as the heater 106,disclosed above with regard to FIG. 1 and FIG. 2, and a net flow of heatoutput from the extrusion head 304. The net flow of heat output from theextrusion head 304 includes heat losses to the surrounding environmentof the extrusion head 304 and may include heat losses due to extrusionof the build material transformed, forced and free convection, andconduction.

In the thermal energy balance 350, q_(in) 352=P*dutyCycle, that is,energy per unit time used to heat the extrusion head 304 to the setpointtemperature 114, where P is a heater power rating of the heater 106 inWatts, and du Cycle is the duty cycle 116 controlled by the controller108.

In the thermal energy balance 350, q_(Loss) 354=C, the energy per unittime lost to the surroundings of the extrusion head 304, where C is aloss of heat to the surroundings in Watts, which depends on the setpointtemperature 114 and the ambient temperature 234, but is otherwiseunaffected by the flow of the build material 110.

Further, in the thermal energy balance 350, q_(e,in)356=ρ*C_(p)*T_(in)*Q_(in), the heat added to the hotend by the injectionof the cold feedstock, where p is the density of the build material 110(mass per volume), C_(p) is the heat capacity of the build material 110(energy per mass per degree Centigrade or Kelvin), T_(in) is thetemperature of the build material 110 as it enters the control volumearound the hotend, which is the ambient temperature 234, and Q_(in) isthe volumetric rate of flow of the material into the hotend, that is,the extrusion head 304.

In the thermal energy balance 350, q_(e,out)358=ρ*C_(p)*T_(ext)*Q_(out), the heat lost from the hotend uponextrusion of the heated extrudate. Here, ρ is the density of theextrudate, C_(p) is the specific heat of the extrudate 112, T_(ext) isthe temperature of the extrudate (which is also the setpoint temperature114 of the hotend), and Q_(out) is the volumetric rate of flow of thematerial out of the extrusion head 304. This flow Q_(out) may be assumedto equal to the inlet flow Q_(in) to within reasonable engineeringestimates, as disclosed above.

The thermal energy balance 350 does not depend upon the rheologicalproperties of the material. Rather, the only material-specificproperties relied upon may be the density and the volumetric heatcapacity of the build material 110 being printed, both of which may bereadily characterized for each type of build material 110 and is a quickmeasurement. The thermal energy balance 350 yields an expressionrelating the duty cycle 116 of the heater 106 to the output flow rate120, that is, a rate of flow, feedstock velocity, or extrudate velocitythrough the hotend, the is, the extrusion head 304, as disclosed belowwith regard to FIG. 4.

FIG. 4 is a graph of an example embodiment of a plot 470 of duty cycle416 versus output flow rate 420. The intercept 424 on the y-axis isgiven by the loss of heat to the surroundings, that is, q_(Loss) 354 ofFIG. 3, disclosed above, which can easily be characterized by measuringthe load on the heater 106 under zero flow conditions.

The gradient 426, that is, the slope, can be determined with knowledgeof material properties of the build material 110, a geometry of thebuild material 100 and/or nozzle, the ambient and hotend setpointtemperatures, that is, the ambient temperature 234 and the setpointtemperature 114 of FIG. 2 and FIG. 1, respectively, and the power ratingP of the heater 106.

Based on the thermal energy balance 350, disclosed above, the gradient426 may be computed as M=(ρ*C_(p)*A_(x))(T_(ext)−T_(in))/P, where A_(x)may be a cross-sectional area of the nozzle, such as the nozzle 258,disclosed above with regard to FIG. 2, or the build material 110, T_(in)may be the ambient temperature 234 surrounding the build material 110outside of the extrusion head 104, and Text may be the temperature ofthe extrudate, that is, the setpoint temperature 114 within reasonableengineering estimates. As such, the plot 470 that may be characterizedfor a particular type of extrusion head 104 and particular type of buildmaterial 110 yields an expression that may be used by the controller 108to determine a particular output flow rate 427 based on a value 426 ofthe duty cycle 416.

As such, the controller 108 may be further configured to determine theoutput flow rate 420 based on (i) the initial duty cycle, that is, theintercept 424 of FIG. 4, disclosed above, that may be employed tomaintain the setpoint temperature 114 under a zero flow condition, and(ii) the gradient 426 that represents a change in duty cycle 416 perunit of output flow rate 420, as disclosed above with regard to FIG. 4.As disclosed above, the gradient 426 may be based on the setpointtemperature 114 that may be used as T_(ext), an ambient temperature 232of the extrusion head 104, that may be employed as T_(in), materialproperties of the build material 104, a cross-sectional area A_(x) ofthe nozzle 258 or build material 110, and a power rating P of theheater. As disclosed above, the material properties may include adensity ρ0 of the build material and specific heat C_(p) of the buildmaterial.

FIG. 5 is a flow diagram of an example embodiment of a method foradditive manufacturing of a three-dimensional (3D) object (500). Themethod begins (502) and transforms a build material, input to anextrusion head, from a first state to a second state, the second statehaving a higher viscosity relative to the first state, and extrudes thebuild material transformed from the extrusion head to produce anextrudate used to print a 3D object in a 3D printing system (504). Themethod heats the extrusion head at a setpoint temperature via a heaterto cause the transformation (506). The method maintains the setpointtemperature of the extrusion head by controlling a duty cycle of theheater based on temperature of the extrusion head (508). The methoddetermines an output flow rate of the extrudate based on the duty cyclecontrolled (510). The method employs the output flow rate determined toaffect printing of the 3D object in the 3D printing system (512) and themethod thereafter ends (514), in the example embodiment.

FIG. 6 is a block diagram of an example of the internal structure of acomputer 600 in which various embodiments of the present disclosure maybe implemented. The computer 600 contains a system bus 602, where a busis a set of hardware lines used for data transfer among the componentsof a computer or processing system. The system bus 602 is essentially ashared conduit that connects different elements of a computer system(e.g., processor, disk storage, memory, input/output ports, networkports, etc.) that enables the transfer of information between theelements. Coupled to the system bus 602 is an I/O device interface 604for connecting various input and output devices (e.g., keyboard, mouse,displays, printers, speakers, etc.) to the computer 600. A networkinterface 606 allows the computer 600 to connect to various otherdevices attached to a network. Memory 608 provides volatile ornon-volatile storage for computer software instructions 610 and data 612that may be used to implement embodiments of the present disclosure,where the volatile and non-volatile memories are examples ofnon-transitory media. Disk storage 614 provides non-volatile storage forcomputer software instructions 610 and data 612 that may be used toimplement embodiments of the present disclosure. A central processorunit 618 is also coupled to the system bus 602 and provides for theexecution of computer instructions, such as computer instructions thatmay drive the controller 108 of FIG. 1, disclosed above.

Further example embodiments disclosed herein may be configured using acomputer program product; for example, controls may be programmed insoftware for implementing example embodiments. Further exampleembodiments may include a non-transitory computer-readable mediumcontaining instructions that may be executed by a processor, and, whenloaded and executed, cause the processor to complete methods describedherein. It should be understood that elements of the block and flowdiagrams may be implemented in software or hardware, such as via one ormore arrangements of circuitry, disclosed above, or equivalents thereof,firmware, a combination thereof, or other similar implementationdetermined in the future. In addition, the elements of the block andflow diagrams described herein may be combined or divided in any mannerin software, hardware, or firmware. If implemented in software, thesoftware may be written in any language that can support the exampleembodiments disclosed herein. The software may be stored in any form ofcomputer readable medium, such as random access memory (RAM), read onlymemory (ROM), compact disk read-only memory (CD-ROM), and so forth. Inoperation, a general purpose or application-specific processor orprocessing core loads and executes software in a manner well understoodin the art. It should be understood further that the block and flowdiagrams may include more or fewer elements, be arranged or orienteddifferently, or be represented differently. It should be understood thatimplementation may dictate the block, flow, and/or network diagrams andthe number of block and flow diagrams illustrating the execution ofembodiments disclosed herein.

The teachings of all patents, published applications and referencescited herein are incorporated by reference in their entirety.

While this invention has been particularly shown and described withreferences to example embodiments thereof, it will be understood bythose skilled in the art that various changes in form and details may bemade therein without departing from the scope of the inventionencompassed by the appended claims.

What is claimed is:
 1. An apparatus for determining extrudate flow inthree-dimensional (3D) printing, the apparatus comprising: an extrusionhead configured to transform a build material from a first state to asecond state, the second state having a higher viscosity relative to thefirst state, and extrude the build material transformed to produce anextrudate used to print a 3D object in a 3D printing system; a heaterconfigured to heat the extrusion head at a setpoint temperature to causethe transformation; and a controller configured to (i) control a dutycycle of the heater, based on temperature of the extrusion head, tomaintain the setpoint temperature, (ii) determine an output flow rate ofthe extrudate based on the duty cycle controlled, and (iii) employ theoutput flow rate determined to affect printing of the 3D object in the3D printing system.
 2. The apparatus of claim 1, further comprising anactuator configured to advance the build material to the extrusion headbased on a commanded input flow rate and wherein the controller isfurther configured to affect the printing by causing a change to thecommanded input flow rate based on the output flow rate determined. 3.The apparatus of claim 2, wherein the change enables over-extrusion orunder-extrusion of the extrudate to be obviated.
 4. The apparatus ofclaim 1, wherein the apparatus further comprises a temperature sensorconfigured to measure the temperature of the extrusion head, wherein thecontroller is a closed-loop controller, and wherein the controller isfurther configured to control the duty cycle of the heater based on ahistory of the temperature measured, a current value of the temperaturemeasured, and the setpoint temperature.
 5. The apparatus of claim 1,wherein the controller is further configured to: identify a faultcondition based on the output flow rate determined and a commanded inputflow rate of the build material; and in an event the fault condition isidentified, cause an input flow of the build material to the extrusionhead to halt.
 6. The apparatus of claim 5, wherein the controller isfurther configured to report the fault condition identified to a userinterface communicatively coupled to the controller.
 7. The apparatus ofclaim 1, wherein the controller is further configured to determine theoutput flow rate based on a thermal energy balance applied to theextrusion head.
 8. The apparatus of claim 7, wherein the thermal energybalance accounts for heat input into the extrusion head from the heaterand a net flow of heat output from the extrusion head due to extrusionof the build material transformed, forced and free convection, andconduction.
 9. The apparatus of claim 1, wherein the controller isfurther configured to determine the output flow rate based on an initialduty cycle employed to maintain the setpoint temperature under a zeroflow condition and a gradient representing a change in duty cycle perunit of output flow rate.
 10. The apparatus of claim 9, wherein theextrusion head includes a nozzle and wherein the gradient is based onthe setpoint temperature, an ambient temperature of the extrusion head,material properties of the build material, a cross-sectional area of thenozzle or build material, and a power rating of the heater.
 11. Theapparatus of claim 10, wherein the material properties include a densityof the build material and specific heat of the build material.
 12. Anmethod for determining extrudate flow in three-dimensional (3D)printing, the method comprising: transforming a build material, input toan extrusion head, from a from a first state to a second state, thesecond state having a higher viscosity relative to the first state, andextruding the build material transformed from the extrusion head toproduce an extrudate used to print a 3D object in a 3D printing system;heating the extrusion head at a setpoint temperature via a heater tocause the transformation; maintaining the setpoint temperature of theextrusion head by controlling a duty cycle of the heater based ontemperature of the extrusion head; determining an output flow rate ofthe extrudate based on the duty cycle controlled; and employing theoutput flow rate determined to affect printing of the 3D object in the3D printing system.
 13. The method of claim 12, further comprisingmoving the build material into the extrusion head via an actuator, themoving based on a commanded input flow rate, and wherein, to affect theprinting, the method further comprises causing a change to the commandedinput flow rate based on the output flow rate determined.
 14. The methodof claim 13, wherein causing the change enables over-extrusion orunder-extrusion of the extrudate to be obviated.
 15. The method of claim12, wherein the method further comprises measuring the temperature ofthe extrusion head via a temperature sensor and wherein the controllingis based on a history of the temperature measured, a current value ofthe temperature measured, and the setpoint temperature.
 16. The methodof claim 12, wherein the method further comprises: identifying a faultcondition based on the output flow rate determined and a commanded inputflow rate of the build material; and in an event the fault condition isidentified, causing an input flow of the build material to the extrusionhead to halt.
 17. The method of claim 16, further comprising reportingthe fault condition identified to a user interface communicativelycoupled to the controller.
 18. The method of claim 12, furthercomprising determining the output flow rate based on a thermal energybalance applied to the extrusion head.
 19. The method of claim 18,wherein the thermal energy balance accounts for heat input into theextrusion head from the heater and a net flow of heat output from theextrusion head due to extrusion of the build material transformed,forced and free convection, and conduction.
 20. The method of claim 12,wherein determining the output flow rate includes employing on aninitial duty cycle used to maintain the setpoint temperature under azero flow condition and a gradient representing a change in duty cycleper unit of output flow rate.
 21. The method of claim 20, wherein theextrusion head includes a nozzle and wherein the method furthercomprises determining the gradient based on the setpoint temperature, anambient temperature of the extrusion head, material properties of thebuild material, a cross-sectional area of the nozzle or build material,and a power rating of the heater.
 22. The method of claim 21, whereindetermining the output flow rate further includes using materialproperties that include a density of the build material and specificheat of the build material.
 23. An apparatus for determining extrudateflow in three-dimensional (3D) printing, the apparatus comprising: meansfor transforming a build material from a first state to a second state,the second state having a higher viscosity relative to the first state;means for extruding the build material transformed to produce anextrudate used to print a 3D object in a 3D printing system; and meansfor (i) controlling a duty cycle of the heater used for maintaining thesetpoint temperature, (ii) determining an output flow rate of theextrudate based on the duty cycle controlled, and (iii) employing theoutput flow rate determined to affect printing of the 3D object in the3D printing system.